package com.sdp.right.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;

import org.springframework.format.annotation.DateTimeFormat;

import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author zsp
 * @since 2024-07-18
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("sys_flow_current_task")
public class SysFlowCurrentTask extends Model<SysFlowCurrentTask> {

    private static final long serialVersionUID=1L;

    /**
     *  内码
     */
    @TableId("key_id")
    private String keyId;

    /**
     * 实例内码
     */
    @TableField("instance_id")
    private String instanceId;

    /**
     * 模块
     */
    @TableField("system_no")
    private String systemNo;

    /**
     * 任务开始时间
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @TableField("start_time")
    private LocalDateTime startTime;

    /**
     * 提交人编号
     */
    @TableField("submit_emp_no")
    private String submitEmpNo;

    /**
     * 提交人姓名
     */
    @TableField("submit_emp_name")
    private String submitEmpName;

    /**
     * 审批人编号
     */
    @TableField("approval_emp_no")
    private String approvalEmpNo;

    /**
     * 审批人姓名
     */
    @TableField("approval_emp_name")
    private String approvalEmpName;

    /**
     * 当前节点内码
     */
    @TableField("current_node_id")
    private String currentNodeId;

    /**
     * 当前节点名称
     */
    @TableField("current_node_label")
    private String currentNodeLabel;

    /**
     *  任务名称
     */
    @TableField("template_name")
    private String templateName;

    /**
     * 审批意见
     */
    @TableField("approval_opinion")
    private String approvalOpinion;

    /**
     * 审批人签字图片
     */
    @TableField("approval_sign")
    private String approvalSign;
    
    /**
     * 审批人头像
     */
    @TableField("profile_picture")
    private String profilePicture;

    /**
     * 审批状态
     */
    @TableField("approval_state")
    private String approvalState;

    /**
     * 审批时间
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @TableField("approval_time")
    private LocalDateTime approvalTime;

    /**
     * 生成时间
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @TableField("create_time")
    private LocalDateTime createTime;
    
    /**
     * 编号
     */
    @TableField("template_no")
    private String templateNo;

    /**
     * 版本
     */
    @TableField("template_version")
    private String templateVersion;
    
    /**
     * 表单
     */
    @TableField("template_form")
    private String templateForm;
    
    /**
     * 自定义页面内码
     */
    @TableField("page_id")
    private String pageId;


    @Override
    protected Serializable pkVal() {
        return this.keyId;
    }

}
